Command Line Tools
概要
macOS 上での開発を助けるためのコマンドラインツールのセット。Xcode を DL すると同梱されているけれど、Apple Developer の ダウンロードページ から、Xcode とは独立して DL することもできる。内容は色々あるようで、macOS の SDK や、Clang や gcc 等のコンパイラ等も含まれる。 利用方法
インストール
macOS 10.9 より前では、Xcode の Preferences からダウンロードできる
macOS 10.9 以後では
Xcode のインストール時にインストールされる
アンインストール
Xcode が全てのツールを含んでいるので、それを削除すれば良い /Library/Developer/CommandLineTools ディレクトリが存在する場合、それを削除すれば良い
現在の利用バージョンの確認
code:console
$ xcode-select --print-path
/Applications/Xcode8.3.3/Xcode.app/Contents/Developer
あるいは、DEVELOPER_DIR を環境変数で指定すると、そちらが優先されるようだ。
ENVIRONMENT
DEVELOPER_DIR
Overrides the active developer directory. When DEVELOPER_DIR is set, its value will be used
instead of the system-wide active developer directory.
Note that for historical reason, the developer directory is considered to be the Developer
content directory inside the Xcode application (for example /Applications/Xcode.app/Con-
tents/Developer). You can set the environment variable to either the actual Developer contents
directory, or the Xcode application directory -- the xcode-select provided shims will automat-
ically convert the environment variable into the full Developer content path.
xcode-select の man ページより (x-man-page://xcode-select)
関連ツール
code:bash
$ xcode-select -p
/Applications/Xcode.app/Contents/Developer
# 設定する。Xcode.app を指定すると、デベロッパーディレクトリの場所が自動的に推論される
$ xcode-select --switch path/to/Xcode.app
$ xcode-select --switch path/to/Xcode.app/Contents/Developer
# command line developer tools をインストールする
$ xcode-select --install
xcrun は、他のツールを実行するためのコマンドである。xcrun に続けてツール名を指定すると、現在アクティブな Developer ディレクトリから対応するツールを見つけて実行 する。 code:bash
$ xcrun --help
Usage: xcrun options <tool name> ... arguments ... # 利用対象のツールのパスのみを確認することもできる
# コマンドラインから実行するバイナリのパスがわかる
$ xcrun -f swift
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
わざわざ xcrun 経由でツールを実行する理由は、以下の二点。 複数の Xcode バージョンがあった場合に、特定の Xcode バージョンに対応するツールを利用するため Xcode バージョンを指定することで、ツールに特定の iOS, macOS SDK を利用させるため code:bash
$ xcodebuild
xcrun: error: active developer path ("/Users/tasuwo/Downloads/Xcode.app/Contents/Developer") does not exist
Use sudo xcode-select --switch path/to/Xcode.app to specify the Xcode that you wish to use for command line developer tools, or use xcode-select --install to install the standalone command line developer tools.
See man xcode-select for more details.
参考